﻿using Newtonsoft.Json.Linq;
using System.Collections.Generic;

public enum ESysConfig
{
    Close = 0,
    Open = 1,
    None = 2
}

public class SysCfgMgr : Singleton<SysCfgMgr>
{
    // key - 功能开关，value - 状态 
    public Dictionary<string, int> mFuncSwitchState;

    public SysCfgMgr()
    {
        mFuncSwitchState = new Dictionary<string, int>();
    }
    
    public void FillFuncState(string funcState)
    {
        mFuncSwitchState.Clear();
        JObject array = JObject.Parse(funcState);
        IEnumerable<JProperty> properties = array.Properties();
        foreach (var item in properties)
        {
            if (!mFuncSwitchState.ContainsKey(item.Name))
            {
                mFuncSwitchState[item.Name] = item.Value.JsonToInt();
            }
        }
    }

    public bool CheckSysConfigSwitch(string sKey)
    {
        if (GetSysConfigSwitchState(sKey) != (int)ESysConfig.Open)
        {
            return false;
        }
        return true;
    }

    public int GetSysConfigSwitchState(string sKey)
    {
        if (mFuncSwitchState.ContainsKey(sKey))
        {
            return mFuncSwitchState[sKey];
        }
        return (int)ESysConfig.None;
    }
}